Parte 5 - Bienvenido a la caja de arena

Últimamente estuvimos inicializando nuestro gancho y todos nuestros trabajadores a mano cada vez. Esto puede ser algo molesto cuando solo estás jugando / aprendiendo con las interfaces. Asi que, de ahora en adelante vamos a crear todas estas variables usando una funcion especial conveniente.

Autores:

  • Andrew Trask - Twitter: @iamtrask
  • Jason Paumier - Github: @Jasopaum
  • Théo Ryffel - Twitter: @theoryffel

Traducción:

  • Arturo Márquez Flores - Twitter: @arturomf94
  • Ricardo Pretelt - Twitter: @ricardopretelt
  • Carlos Salgado - Github: @socd06

In [ ]:
import torch
import syft as sy
sy.create_sandbox(globals())

¿Qué nos da la caja de arena?

Como puedes ver arriba, creamos varios trabajadores virtuales y cargamos muchos conjutos de datos de prueba, distribuyéndolos alrededor de varios trabajadores para poder practicar usando técnicas preservadoras de la privacidad como el Aprendizaje Federado.

Creamos seis trabajadores...


In [ ]:
workers

Además poblamos muchas de las variables globales que podemos usar inmediatamente


In [ ]:
hook

In [ ]:
bob

Parte 2: Funcionalidad de Buscado de Trabajadores

Un aspecto importante de hacer ciencia de datos remota es que que queremos la habilidad de buscar conjuntos de datos en una máquina remota. Como en un laboratorio de investigación que quiere consultar hospitales por conjuntos de datos que quizás sean "de radio".


In [ ]:
torch.Tensor([1,2,3,4,5])

In [ ]:
x = torch.tensor([1,2,3,4,5]).tag("#fun", "#boston", "#housing").describe("The input datapoints to the boston housing dataset.")
y = torch.tensor([1,2,3,4,5]).tag("#fun", "#boston", "#housing").describe("The input datapoints to the boston housing dataset.")
z = torch.tensor([1,2,3,4,5]).tag("#fun", "#mnist",).describe("The images in the MNIST training dataset.")

In [ ]:
x

In [ ]:
x = x.send(bob)
y = y.send(bob)
z = z.send(bob)

# esto busca una coincidencia exacta dentro de la etiqueta o dentro de la descripción
results = bob.search(["#boston", "#housing"])

In [ ]:
results

In [ ]:
print(results[0].description)

Parte 3: Rejilla Virtual

Una rejilla virtual es simplemente una recolección de trabajadores que te dan funciones convenientes para cuando quieras crear un conjunto de datos.


In [ ]:
grid = sy.PrivateGridNetwork(*workers)

In [ ]:
results = grid.search("#boston")

In [ ]:
boston_data = grid.search("#boston","#data")

In [ ]:
boston_target = grid.search("#boston","#target")